home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / windows5 / winnet.zip / NOVTCP.TXT < prev    next >
Text File  |  1990-03-27  |  14KB  |  295 lines

  1.  
  2.          CONCURRENT NOVELL NETWARE AND TCP/IP USAGE: A CASE STUDY
  3.  
  4.     Wesleyan University is an active networking site, heavily using
  5. Bitnet, NSFnet, and local area Ethernets.  Recently we started
  6. implementing local PC and Macintosh networks using Novell Netware.  Since
  7. TCP/IP is our universal protocol, we wanted all PCs on the Novell network
  8. to have full concurrent access to Telnet and FTP.  We did not want special
  9. hardware or TCP gateways, did not want commercial TCP/IP software, and did
  10. not want to spend much money.  We did want all the PCs on these networks
  11. to boot up automatically via Boot ROMs in the Ethernet cards.
  12.  
  13.     Getting this all to work together was an amazingly complex task,
  14. requiring weeks of work, many pieces of public domain software, and help
  15. from many generous people.  As we were gathering information, several
  16. people requested that we pass on the information we received if we could
  17. make it work.  This document is written to make it easier for others to
  18. follow the same path we did, and also serves as documentation to record
  19. our sources of software for when we forget it all next week.
  20.  
  21.     In the steps which follow, most of the minor frustrating details of
  22. obtaining and translating software are left out.  In general, having a
  23. unix machine around is very useful, because you may need the programs
  24. UUDECODE, UNCOMPRESS and TAR to unravel the file archives you obtain.  In
  25. addition, having TAR and ARC on a IBM-compatible PC is important.
  26.  
  27.     The hosts mentioned as sources for software are merely the places
  28. where we picked things up.  There are usually other alternative sources
  29. available.
  30.  
  31.     If someone reading this (and trying to follow the same steps) gets
  32. blocked because of the lack of a critical piece of software, send me mail
  33. and I'll try to help.  We can make anything necessary available through
  34. anonymous FTP on Internet or through file or mail servers on Bitnet.
  35.  
  36.     The story begins!
  37.  
  38.    1. We obtained copies of Novell Netware version 2.15, advanced and
  39.       sft versions.
  40.  
  41.    2. We subscribed to the Novell special interest group bulletin
  42.       board, NOVELL@SUVM.BITNET.  (This has proven absolutely
  43.       essential!  Many thanks to the generous and hardworking people
  44.       who make this list possible.)
  45.  
  46.    3. We formulated our goals and started asking for help.  This is a
  47.       very current topic, and we quickly encountered a long message
  48.       on July 19th giving very complete instructions on obtaining and
  49.       using a "packet driver" (as opposed to a specific LAN hardware
  50.       driver) which would allow LAN hardware to be shared by
  51.       different programs.
  52.  
  53.           Who: Kelly McDonald at Brigham Young University
  54.           Email: kelly@dcsprod.byu.edu
  55.           Host: sun.soe.clarkson.edu via anonymous ftp
  56.           File: /pub/novell/novell.exe.uu
  57.  
  58.       The READ.ME file in this uuencoded, self-unpacking archive file
  59.       gives instructions for creating a Netware shell for a client
  60.       machine which would use the packet driver interface, thus
  61.       allowing a properly configured TCP/IP based program to share
  62.       access to the network hardware.  This archive file provided the
  63.       Netware-specific part of the software.
  64.  
  65.    4. Next we picked up the packet driver code from Clarkson
  66.       University, as instructed by the BYU documentation.  This
  67.       distribution contains packet drivers for a number of Ethernet
  68.       network boards, including the WD8003E board that we favor.  The
  69.       distribution also includes some documentation on what packet
  70.       drivers do and why you need them, so I won't go into that here.
  71.  
  72.           Host: sun.soe.clarkson.edu via anonymous ftp
  73.           File: /pub/ka9q/drivers.arc
  74.  
  75.    5. Having settled the Netware end, we now needed a Telnet and FTP
  76.       which had a packet driver interface.  We use and recommend NCSA
  77.       Telnet, but their standard 2.2 version did not support a packet
  78.       driver interface.  (Their 2.3 version does -- it's in beta test
  79.       as of 10/12/89) We obtained NCSA Telnet 2.2TN, which is NCSA
  80.       version 2.2 with many enhancements from Clarkson University.
  81.       In addition to packet driver support (the critical part) it
  82.       also supports TN3270 accsss (unimportant to us) and IP address
  83.       assignment via BOOTP protocol (very useful to us!)
  84.  
  85.           Who: Brad Clements at Clarkson
  86.           EMail: bkc@omnigate.clarkson.edu
  87.           Host: Omnigate.clarkson.edu
  88.           File: /pub/ncsa2.2tn/ncsabin.tar.Z
  89.  
  90.       You can also pick up PDTAR.EXE there for a MS-DOS TAR program,
  91.       and ncsasrc.tar.Z for the complete telnet sources.
  92.  
  93.    6. We created Netware shells for our client machines using the
  94.       packet driver interface.  This requires that you load the
  95.       packet driver before running IPX.  In our case we used the
  96.       program WD8003E.COM for the Western Digital Ethernet cards we
  97.       use.  There are similar names for many other card-specific
  98.       drivers.
  99.  
  100.       There is a catch!  The packet drivers talk the Ethernet version
  101.       2 protocol, which is slightly different from the IEEE 802.3
  102.       protocol that Novell uses on Ethernet.  So you need to use a
  103.       program called ECONFIG to modify the Ethernet drivers on your
  104.       Novell servers in order to tell them to talk Ethernet V2.
  105.       protocols to their clients rather than the standard 802.3.
  106.       This is an either-or decision -- if you choose the packet
  107.       driver interface for some clients, you must use it for *all*
  108.       clients of a server unless you install two Ethernet interfaces.
  109.       (But this isn't the last word -- more later.)
  110.  
  111.    7. All was well, temporarily... we would run WD8003E in the login
  112.       batch files of the client machines, then we could run IPX and
  113.       NET4 to talk to the server just fine.  We could also use
  114.       NCSA/Clarkson Telnet successfully and concurrently, simply
  115.       telling it to use "PACKET" as the Ethernet device type.
  116.  
  117.       However, after the first flush of victory faded we had other
  118.       problems.  Of course our boot proms no longer worked, because
  119.       they use the same IEEE 802.3 protocols that we'd previously
  120.       mentioned and we had ECONFIG'd the server so that it no longer
  121.       understood that dialect.
  122.  
  123.       We diverted a lot of attention to using two cards in the
  124.       server, one ECONFIG'd and one vanilla.  Well, that kind of
  125.       worked, but left us with a messy situation -- you could either
  126.       boot up automatically via the ROM (using standard Novell
  127.       drivers) and stick to Novell software only, OR you could boot
  128.       up with a floppy disk (using packet drivers) and then have
  129.       Telnet and FTP available.  Yuck.
  130.  
  131.    8. So we asked for help again, and got swarms of responses.
  132.       Several people had experimented with modifications to the
  133.       packet driver code to change it to convert between 802.3 and
  134.       Ethernet V.2 packet types -- very important, because your
  135.       clients can then remain within the standard Novell world and
  136.       your servers need not be ECONFIG'd.  Furthermore, the boot ROMs
  137.       can (almost) work.
  138.  
  139.       But not quite.  Stripped of the technical details, it turns out
  140.       that there is a difficulty negotiating the transfer of control
  141.       of the Ethernet card from the ROM to the packet driver.  There
  142.       were different approaches to this problem.
  143.  
  144.       The one we chose was courtesy of:
  145.  
  146.           Who: Andries Ruiter at the University of Groningan
  147.           Email: Ruiter@HGRRUG5.Bitnet
  148.  
  149.       Andries provided a modified packet driver (with source) for the
  150.       Western Digital board which had two important enhancements:
  151.  
  152.          - Ethernet V.2 and 802.3 conversions
  153.  
  154.          - Postponement of the control handoff mentioned above
  155.            (between the ROM and the packet driver) until the first
  156.            Novell IPX packet is sent, which comes after NET4 is
  157.            started.
  158.  
  159.    9. We were almost there, but not quite.  We still had problems
  160.       with the ROM to PD handoff.  We could not complete the
  161.       AUTOEXEC.BAT process within the remote reset file without
  162.       aborting the login with some spurious "illegal switch" message
  163.       during the NET4 process.  (For those vague on the remote reset
  164.       files, they're simply a network-loaded version of a Novell boot
  165.       floppy.  Stripped of frills, our AUTOEXEC.BAT file simply
  166.       contained:)
  167.  
  168.           WD8003E 0X60 0X4 0X280 0XD000
  169.           IPX
  170.           NET4
  171.           F:
  172.           LOGIN GUEST
  173.  
  174.       However, the ROM-loaded version would not complete no matter
  175.       what I tried.  So I broke it into two pieces, with
  176.       manually-chained batch files requiring user interaction.
  177.  
  178.   10. Then we read about ROMREL, a program which was designed to
  179.       address the ROM to PD handoff problem.  Basically, ROMREL
  180.       simply releases the special BIOS hooks created by boot ROMS,
  181.       and supposedly works for all cards.  It certainly works for WD
  182.       cards.  A boot ROM works by creating a funny psuedo disk "A"
  183.       which contains the contents of the network-loaded floppy.  So
  184.       disk A is a memory disk until you run NET4, when it goes back
  185.       to being a floppy.
  186.  
  187.       ROMREL is used in conjunction with a real RAMdisk which will
  188.       stick around.  You use it by creating a RAMdisk in your
  189.       CONFIG.SYS file, then having the AUTOEXEC.BAT file load all
  190.       important files from the psuedo-A drive into the new RAMdrive.
  191.       Then you tranfer to that drive, run ROMREL to get rid of the
  192.       special BIOS hooks, and proceed swiftly and easily to complete
  193.       the entire network login process with no errors.
  194.  
  195.           Who: Glen Marianko
  196.           EMail: glen@aecom.yu.edu
  197.           Host: Purdue University BBS at 317/494-0807
  198.           File: ROMREL.COM and .DOC in Novell file area
  199.  
  200.   11. One remaining problem.  The Groningan modifications had
  201.       postponed the initialization of the packet driver until after
  202.       the first IPX packet had been processed.  Unfortunately, what
  203.       this meant was that IPX was required to "turn on" the network
  204.       -- running Telnet would not work until after IPX had been run.
  205.       This wasn't a problem with the boot ROM machines, which all run
  206.       IPX on startup, but it was a restriction for the staff hard
  207.       disk machines which frequently didn't use the Novell server on
  208.       a daily basis.
  209.  
  210.       We addressed this one by modifying the Groningan packet driver
  211.       source to remove the second of Andrie's modifications.
  212.       Actually, their version was a notch or two behind the standard
  213.       packet driver source so we just borrowed their Ethernet v.2 <=>
  214.       802.3 conversion code and moved it into the current Clarkson
  215.       packet driver source.  The only module affected is the actual
  216.       device-specific driver code (ie not the generic HEAD.ASM or
  217.       TAIL.ASM files) and thus I only did it for the WD8003.
  218.  
  219.           Who: Doug Bigelow at Wesleyan University
  220.           EMail:DBigelow@Eagle.Wesleyan.EDU
  221.  
  222.   12. Finally, everything works.  Booting from the boot ROMS is quick
  223.       and smooth, and all users can separately or simultaneously run
  224.       IPX and Telnet regardless of the startup order.  It was a long
  225.       hard road!
  226.  
  227.  
  228.                              FUTURE PROBLEMS:
  229.  
  230.     Western Digital has released a new version of it's WD8003E card which
  231. is smaller and is software configured using non-volatile memory.  No more
  232. jumpers to fiddle with.  It's a nice card, but the driver has changed in
  233. some subtle way.  The packet driver can still control the cards just fine,
  234. thank goodness.  However, others can't.  NCSA Telnet, for example, will
  235. crash the machine when told the device type is WD8003.  This works fine
  236. with the old model Ethernet cards, and works with the new type if you use
  237. the PACKET device type.  But the old driver with the new card crashes and
  238. burns.
  239.  
  240.     Similarly, we have observed an odd problem with the standard Western
  241. Digital boot ROMs for Novell Netware.  The new style cards boot with the
  242. ROMS, but *v.e.r.y s.l.o.w.l.y* -- like two minutes instead of 15 seconds?
  243. This happens while the remote reset file is being downloaded to the
  244. machine, ie before any software driver gets loaded.  So far we've been
  245. able to use only the old cards in our public ROM-booting machines, but
  246. we've now run out -- so we hope someone figures this one out quickly.
  247.  
  248.  
  249.                       APPENDIX -- REMOTE RESET FILES
  250.  
  251.     These are the batch files that we use for our network booting.  First,
  252. the device drivers loaded via CONFIG.SYS:
  253.  
  254.     BREAK=ON
  255.     BUFFERS=20
  256.     FILES=40
  257.     SHELL=COMMAND.COM /P /E:960
  258.     DEVICE=ANSI.SYS
  259.     DEVICE=RAMDRIVE.SYS 120 /E
  260.  
  261.     We use the DOS 4.X standard RAMDRIVE program to load up a 120 KB
  262. drive.  It assigns the drive to the first vacant letter, hence it will be
  263. drive C: in a two-floppy machine, or drive D: in a hard-disk machine.
  264. This covers the options for us on our networked machines.  Others might
  265. have to use a more exhaustive test than the one below in AUTOEXEC.BAT,
  266. which figures out which drive is the RAMdisk.
  267.  
  268.     @echo off
  269.     set configtel=x:config.tel
  270.     prompt $p$g
  271.     egasave 30 > nul
  272.     dosedit > nul
  273.     set rdisk=c:
  274.     if exist c:\autoexec.bat set rdisk=d:
  275.     copy *.com %rdisk% > nul
  276.     copy go.bat %rdisk% > nul
  277.     set comspec=%rdisk%command.com
  278.     %rdisk%
  279.     cls
  280.     go
  281.  
  282.     Finally, we're on the RAMdisk and we proceed to release the ROM hooks
  283. then activate the network via the GO.BAT batch job:
  284.  
  285.     @echo off
  286.     romrel 3 > nul
  287.     wd8003e 0x60 0x3 0x280 0xd000 > nul
  288.     pdipx > nul
  289.     net4 > nul
  290.     f:
  291.     echo $[2J$[7m You are now logged in as user GUEST.$[0m
  292.     login guest
  293.  
  294.  
  295.